As is known in the art, test equipment has been used in a wide variety of applications. One application is to test integrated circuits. For example, in such application, test equipment is used to introduce a logic level, i.e., a relatively static input voltage into the integrated circuit to test whether the integrated circuit produces a proper output.
The need also exists to test higher level systems, such as, for example, large capacity fault tolerant data storage systems. These large capacity storage systems are used with large host (e.g., main frame or open system) computer system. The computer system generally includes data processors which perform many operations on data introduced to the computer system through peripherals included in the data storage system. The results of these operations are output to peripherals included in the storage system. It is important that the system continue to operate properly even in the effect of either a software or hardware fault. Thus, in addition to redundancy being built into such systems, the system are designed to detects faults and report such faults while the system is using a provided redundant “path” for processing the data.
More particularly, in such system a plurality of fault detection logics is provided for detecting faults in various paths during a data transfer. Each path is provided by a multi-bit bus. The fault detection logic associated with each path, or bus, may include ECC (e.g., EDAC) and parity generating/checking, for example. Any detected faults are reported back to the data transfer handling director (e.g. processor) which then reports the detected fault to the director handling the transfer or to some other designated director. Further, the program in the handling director must respond to the detected fault for exemplary by interrupting the normal process used to effect the desired data transfer. For example, in response to one detected fault, the software in the handling director may be required to deviate from its normal data transfer task and perform another task, such as, for example, collect certain data in the memory for further processing in accordance with other software instructions in the handling director.
Therefore, the need arises for a method and system for testing whether these error detection and/or correction logic are operating properly.